package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CgCiclo generated by hbm2java
 */
@Entity
@Table(name = "CG_CICLO", schema = "UPET")
public class CgCiclo implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 521261366604996159L;
	private Integer cciclo;
	private TbTipoTramite tbTipoTramite;
	private TbUnidad tbUnidad;
	private String dciclo;
	private Integer bincluyeProd;
	private Integer bincluyeAvanc;
	private String mtipoCiclo;
	private Date fhingreso;
	private Date fhmodificacion;
	private String cusuario;
	private String cgestion;
	private Integer bcicloEspecial;
	private Set<CgActividad> cgActividads = new HashSet<CgActividad>(0);
	private Set<CgEtapa> cgEtapas = new HashSet<CgEtapa>(0);
	private Set<CgProduccion> cgProduccions = new HashSet<CgProduccion>(0);
	private Set<CgCaso> cgCasosForCCicloActual = new HashSet<CgCaso>(0);
	private Set<CgCierreCaso> cgCierreCasos = new HashSet<CgCierreCaso>(0);
	private Set<CgCaso> cgCasosForCCiclo = new HashSet<CgCaso>(0);
	private Set<CgRuta> cgRutas = new HashSet<CgRuta>(0);

	public CgCiclo() {
	}

	public CgCiclo(Integer cciclo, String dciclo, String mtipoCiclo,
			Date fhingreso, Date fhmodificacion, String cusuario,
			Integer bcicloEspecial) {
		this.cciclo = cciclo;
		this.dciclo = dciclo;
		this.mtipoCiclo = mtipoCiclo;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.cusuario = cusuario;
		this.bcicloEspecial = bcicloEspecial;
	}

	public CgCiclo(Integer cciclo, TbTipoTramite tbTipoTramite,
			TbUnidad tbUnidad, String dciclo, Integer bincluyeProd,
			Integer bincluyeAvanc, String mtipoCiclo, Date fhingreso,
			Date fhmodificacion, String cusuario, String cgestion,
			Integer bcicloEspecial, Set<CgActividad> cgActividads,
			Set<CgEtapa> cgEtapas, Set<CgProduccion> cgProduccions,
			Set<CgCaso> cgCasosForCCicloActual,
			Set<CgCierreCaso> cgCierreCasos, Set<CgCaso> cgCasosForCCiclo,
			Set<CgRuta> cgRutas) {
		this.cciclo = cciclo;
		this.tbTipoTramite = tbTipoTramite;
		this.tbUnidad = tbUnidad;
		this.dciclo = dciclo;
		this.bincluyeProd = bincluyeProd;
		this.bincluyeAvanc = bincluyeAvanc;
		this.mtipoCiclo = mtipoCiclo;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.cusuario = cusuario;
		this.cgestion = cgestion;
		this.bcicloEspecial = bcicloEspecial;
		this.cgActividads = cgActividads;
		this.cgEtapas = cgEtapas;
		this.cgProduccions = cgProduccions;
		this.cgCasosForCCicloActual = cgCasosForCCicloActual;
		this.cgCierreCasos = cgCierreCasos;
		this.cgCasosForCCiclo = cgCasosForCCiclo;
		this.cgRutas = cgRutas;
	}

	@Id
	@Column(name = "C_CICLO", unique = true, nullable = false, precision = 5, scale = 0)
	public Integer getCciclo() {
		return this.cciclo;
	}

	public void setCciclo(Integer cciclo) {
		this.cciclo = cciclo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_TIPO_TRAMITE")
	public TbTipoTramite getTbTipoTramite() {
		return this.tbTipoTramite;
	}

	public void setTbTipoTramite(TbTipoTramite tbTipoTramite) {
		this.tbTipoTramite = tbTipoTramite;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD")
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

	@Column(name = "D_CICLO", nullable = false, length = 60)
	public String getDciclo() {
		return this.dciclo;
	}

	public void setDciclo(String dciclo) {
		this.dciclo = dciclo;
	}

	@Column(name = "B_INCLUYE_PROD", precision = 1, scale = 0)
	public Integer getBincluyeProd() {
		return this.bincluyeProd;
	}

	public void setBincluyeProd(Integer bincluyeProd) {
		this.bincluyeProd = bincluyeProd;
	}

	@Column(name = "B_INCLUYE_AVANC", precision = 1, scale = 0)
	public Integer getBincluyeAvanc() {
		return this.bincluyeAvanc;
	}

	public void setBincluyeAvanc(Integer bincluyeAvanc) {
		this.bincluyeAvanc = bincluyeAvanc;
	}

	@Column(name = "M_TIPO_CICLO", nullable = false, length = 1)
	public String getMtipoCiclo() {
		return this.mtipoCiclo;
	}

	public void setMtipoCiclo(String mtipoCiclo) {
		this.mtipoCiclo = mtipoCiclo;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_MODIFICACION", nullable = false, length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Column(name = "C_GESTION", length = 2)
	public String getCgestion() {
		return this.cgestion;
	}

	public void setCgestion(String cgestion) {
		this.cgestion = cgestion;
	}

	@Column(name = "B_CICLO_ESPECIAL", nullable = false, precision = 1, scale = 0)
	public Integer getBcicloEspecial() {
		return this.bcicloEspecial;
	}

	public void setBcicloEspecial(Integer bcicloEspecial) {
		this.bcicloEspecial = bcicloEspecial;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgActividad> getCgActividads() {
		return this.cgActividads;
	}

	public void setCgActividads(Set<CgActividad> cgActividads) {
		this.cgActividads = cgActividads;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgEtapa> getCgEtapas() {
		return this.cgEtapas;
	}

	public void setCgEtapas(Set<CgEtapa> cgEtapas) {
		this.cgEtapas = cgEtapas;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgProduccion> getCgProduccions() {
		return this.cgProduccions;
	}

	public void setCgProduccions(Set<CgProduccion> cgProduccions) {
		this.cgProduccions = cgProduccions;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCicloActual")
	public Set<CgCaso> getCgCasosForCCicloActual() {
		return this.cgCasosForCCicloActual;
	}

	public void setCgCasosForCCicloActual(Set<CgCaso> cgCasosForCCicloActual) {
		this.cgCasosForCCicloActual = cgCasosForCCicloActual;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgCierreCaso> getCgCierreCasos() {
		return this.cgCierreCasos;
	}

	public void setCgCierreCasos(Set<CgCierreCaso> cgCierreCasos) {
		this.cgCierreCasos = cgCierreCasos;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgCaso> getCgCasosForCCiclo() {
		return this.cgCasosForCCiclo;
	}

	public void setCgCasosForCCiclo(Set<CgCaso> cgCasosForCCiclo) {
		this.cgCasosForCCiclo = cgCasosForCCiclo;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgCiclo")
	public Set<CgRuta> getCgRutas() {
		return this.cgRutas;
	}

	public void setCgRutas(Set<CgRuta> cgRutas) {
		this.cgRutas = cgRutas;
	}

}
